import random
import sys

# 人生重开模拟器
print('+-------------------------------------+')
print('|                                     |')
print('|             Weclome To              |')
print('|       life restart simulator        |')
print('|                                     |')
print('+-------------------------------------+')

print("设置初始属性: （可用点数总数为20）")

# 分别设置各项属性并检查合法性
# 这里将每个属性单独进行while循环
# 也可以放到一个while循环中，这样每次需要重设全部属性

while True:
    looks = int(input("输入颜值(1-10):"))
    if looks < 1 or looks > 10:
        print("颜值设置有误!重设:")
        continue
    break

while True:
    physique = int(input("输入体质(1-10):"))
    if physique < 1 or physique > 10:
        print("体质设置有误!重设:")
        continue
    break

while True:
    IQ = int(input("输入智力(1-10):"))
    if IQ < 1 or IQ > 10:
        print("智力设置有误!重设:")
        continue
    break

while True:
    family = int(input("输入家境(1-10):"))
    if family < 1 or family > 10:
        print("家境设置有误!重设:")
        continue
    break

# 打印当前设置
print("初始属性设置完毕")
print(f"颜值: {looks}, 体质: {physique}, 智力: {IQ}, 家境: {family}")

# 随机生成性别
# 生成1-6之间的随机数
print("性别生成中... ...")

point = random.randint(1, 6)
if point % 2 == 0:
    gender = 'boy'
    print("你是个男孩")
else:
    gender = 'girl'
    print("你是个女孩")

# 设置角色出生点
# 这里设置1-3的随机数，游戏逻辑和可能性比较简单

point = random.randint(1, 3)
if family == 10:
    # 第一档
    print("你出生在帝都，父母是高官政要")
    looks += 1
    family += 1
    IQ += 1
    physique += 1
elif 7 <= family <= 9:
    # 第二档
    if point == 1:
        print("你出生在大城市，父母是企业高管")
        family += 2
    elif point == 2:
        print("你出生在大城市，父母是大学教授")
        IQ += 2
    else:
        print("你出生在大城市，父母是医生")
        physique += 2
elif 4 <= family <= 6:
    # 第三档
    if point == 1:
        print("你出生在三线城市，父母是公务员")
        looks += 1
    elif point == 2:
        print("你出生在镇上，父母是教师")
        IQ += 1
    else:
        print("你出生在镇上，父母是个体户")
        family += 1
else:
    # 第四档
    if point == 1:
        print("你出生在农村，父母是辛勤劳作的农民")
        physique += 1
        looks -= 2
    elif point == 2:
        print("你出生在穷乡僻壤，父母是无业游民")
        family -= 1
    else:
        print("你出生在镇上，父母感情不和")
        physique -= 1


# 幼年时期
for age in range(0, 11):    #利用for循环，使age从0-10

    info = f'你今年{age}岁: '
    point = random.randint(1, 6)

    # 编写随机事件
    # 性别触发的事件
    if age == 0 and family <= 3 and gender == 'girl':
        info += "你的家庭重男轻女思想严重，你被遗弃了！"
        print(info)
        print("游戏结束")
        sys.exit(0) #退出程序
    # 体质触发的事件
    elif physique < 6 and point % 2 == 0:
        info += "你生了一场病: "
        physique -= 1
        if family >= 5:
            info += "父母悉心照顾你，你康复了: "
            physique += 1
        else:
            info += "父母没有精力照顾你，你的状况更差了: "
            physique -= 1
        print(info)
    # 颜值触发的事件
    elif looks <= 4 and age >= 6:
        info += "同学因为你的长相不愿意跟你玩: "
        physique -= 1
        if IQ > 5:
            info += "你决定用学习填充自己: "
            IQ += 1
        else:
            if gender == "boy":
                info += '你和其他同学经常闹矛盾/打架: '
                physique += 1
                IQ -= 1
            else:
                info += "你的心理状况变差了: "
        print(info)
    # 智商触发的事件
    elif IQ < 5 and age >= 6:
        info += "你有一点笨: "
        if family >= 8 and age >= 6:
            info += "你的父母给了你多种选择: "
            IQ += 1
            physique += 1
        elif 4 <= family <= 7:
            info += "你的父母给了你更好的教育资源: "
            IQ += 2
            physique -= 1
        else:   # family < 4
            if point % 2 != 0:
                info += "你的父母逼着你学习，你的心理状态很差: "
                IQ += 1
                physique -= 1
            elif gender == 'boy':
                info += "你的父母鼓励你多运动，走体育方向: "
                physique += 1
            else:
                info += "你的父母鼓励你多打扮，走?艺术方向: "
                looks += 1
        print(info)
    else:
        info += "你健康成长: "
        if point == 1:
            info += "你的身体越来越好了: "
            physique += 1
        elif point == 2:
            info += "你看起来越来越好看了: "
            looks += 1
        elif point == 3:
            info += "你的学习越来越好了: "
            IQ += 1
        elif point == 4:
            info += "父母工作更加顺利了: "
            family += 1
        else:
            info += "无事发生的一年: "
        print(info)

print("属性变化")
print(f"颜值: {looks}, 体质: {physique}, 智力: {IQ}, 家境: {family}")

# while age < 20:
#     # 增加年龄
#     age += 1
#
#     # 年初打印信息
#     info += f"\n{age}岁:"
#
#     # 每年随机遭遇一种事件
#     event_point = random.randint(1, 10)
#
#     # 事件1：恋爱
#     if event_point == 1:
#         print(f"{age}岁，你遇到了心仪已久的TA，恋爱成功！")
#         looks += 1
#         IQ -= 1
#         info += "恋爱成功！"
#     # 事件2：失恋
#     elif event_point == 2:
#         print(f"{age}岁，你的恋爱关系因故分手了...")
#         looks -= 1
#         IQ += 1
#         info += "恋爱关系因故分手了..."
#     # 事件3：工作成功
#     elif event_point <= 4:
#         print(f"{age}岁，你在工作中表现优异，升职加薪！")
#         family += 1
#         IQ += 1
#         physique -= 1
#         info += "工作成功，升职加薪！"
#     # 事件4：工作失败
#     elif event_point <= 6:
#         print(f"{age}岁，你突然被公司裁员了...")
#         family -= 1
#         IQ -= 1
#         physique += 1
#         info += "突然被公司裁员了..."
#     # 事件5：旅游
#     elif event_point <= 8:
#         print(f"{age}岁，你终于实现了多年的旅游梦想！")
#         looks += 1
#         IQ += 1
#         physique += 1
#         info += "实现了多年的旅游梦想！"
#     # 事件6：意外受伤
#     else:
#         print(f"{age}岁，你意外受伤，导致身体状况恶化...")
#         looks -= 1
#         IQ -= 1
#         physique -= 2
#         info += "意外受伤，导致身体状况恶化..."
#
# print(f"\n你的人生历程：{info}")
# print(f"最终属性: 颜值:{looks}，体质:{physique}，智力:{IQ}，家境:{family}")